Add maven build support for `examples`. (#891) * Add maven build support for `examples`. * Add travis task to verify maven examples build (gradle and maven). 
diff --git a/.travis.yml b/.travis.yml index 14438c5..b2bbc91 100644 --- a/.travis.yml +++ b/.travis.yml 
@@ -19,6 +19,14 @@  # contrib/agent, but are not installed by default.  - openjdk-6-jdk   + - jdk: oraclejdk8 + env: TASK=BUILD_EXAMPLES_GRADLE + os: linux + + - jdk: oraclejdk8 + env: TASK=BUILD_EXAMPLES_MAVEN + os: linux +  - env: TASK=CHECK_GIT_HISTORY  os: linux   
diff --git a/examples/README.md b/examples/README.md index c9e67b9..cbdce24 100644 --- a/examples/README.md +++ b/examples/README.md 
@@ -2,21 +2,40 @@    ## To build the examples use   +### Gradle  ```  $ ./gradlew installDist  ```   +### Maven +``` +$ mvn package appassembler:assemble +``` +  ## To run "StatsRunner" example use   +### Gradle  ```  $ ./build/install/examples/bin/StatsRunner  ```   +### Maven +``` +$ ./target/appassembler/bin/StatsRunner +``` +  ## To run "ZPagesTester" + +### Gradle  ```  $ ./build/install/examples/bin/ZPagesTester  ```   +### Maven +``` +$ ./target/appassembler/bin/ZPagesTester +``` +  Available pages:  * For tracing page go to [localhost:8080/tracez][ZPagesTraceZLink].   * For tracing config page go to [localhost:8080/traceconfigz][ZPagesTraceConfigZLink]. 
diff --git a/examples/pom.xml b/examples/pom.xml new file mode 100644 index 0000000..415f2ef --- /dev/null +++ b/examples/pom.xml 
@@ -0,0 +1,85 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-examples</artifactId> + <packaging>jar</packaging> + <version>0.11.0-SNAPSHOT</version><!-- CURRENT_OPENCENSUS_VERSION --> + <name>opencensus-examples</name> + <url>http://maven.apache.org</url> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <!-- change to the version you want to use. --> + <opencensus.version>0.10.1</opencensus.version><!-- LATEST_OPENCENSUS_VERSION --> + </properties> + <dependencies> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-api</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-contrib-zpages</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-exporter-trace-logging</artifactId> + <version>${opencensus.version}</version> + </dependency> + <dependency> + <groupId>io.opencensus</groupId> + <artifactId>opencensus-impl</artifactId> + <version>${opencensus.version}</version> + <scope>runtime</scope> + </dependency> + </dependencies> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.7.0</version> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>appassembler-maven-plugin</artifactId> + <version>1.10</version> + <configuration> + <programs> + <program> + <id>StatsRunner</id> + <mainClass>io.opencensus.examples.stats.StatsRunner</mainClass> + </program> + <program> + <id>MultiSpansTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansTracing</mainClass> + </program> + <program> + <id>MultiSpansScopedTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansScopedTracing</mainClass> + </program> + <program> + <id>MultiSpansContextTracing</id> + <mainClass>io.opencensus.examples.trace.MultiSpansContextTracing</mainClass> + </program> + <program> + <id>ZPagesTester</id> + <mainClass>io.opencensus.examples.zpages.ZPagesTester</mainClass> + </program> + </programs> + </configuration> + </plugin> + </plugins> + </build> +</project> + 
diff --git a/scripts/travis_script b/scripts/travis_script index 0f8e313..3cd6a9b 100755 --- a/scripts/travis_script +++ b/scripts/travis_script 
@@ -21,7 +21,6 @@  ./gradlew clean assemble --stacktrace  ./gradlew check :opencensus-all:jacocoTestReport  ./gradlew verGJF - pushd examples && ./gradlew clean assemble --stacktrace && popd  ;;  "openjdk7")  # "./gradlew classes testClasses" is a workaround for @@ -42,7 +41,6 @@  # https://docs.travis-ci.com/user/reference/osx/#JDK-and-OS-X  ./gradlew clean assemble --stacktrace  ./gradlew check - pushd examples && ./gradlew clean assemble check --stacktrace && popd  ;;  *)  echo "Unknown OS name $TRAVIS_OS_NAME" @@ -50,6 +48,12 @@  ;;  esac  ;; + "BUILD_EXAMPLES_GRADLE") + pushd examples && ./gradlew clean assemble --stacktrace && popd + ;; + "BUILD_EXAMPLES_MAVEN") + pushd examples && mvn clean package appassembler:assemble -e && popd + ;;  *)  echo "Unknown task $TASK"  exit 1